Publish/subscribe data processing systems generally distribute a data message (e.g., publication) from a publisher to a subscriber via a message broker. The subscriber can register an interest with the message broker in order to receive the data message from the publisher with respect to a particular message topic and/or content. The message broker typically assures the integrity of the message source, and manages the distribution of the data message according to a valid subscription registered in the broker. Such decoupling of publisher and subscriber can permit greater scalability and a more dynamic network topology.
Most of the prior art publish/subscribe data processing systems employ a queuing algorithm for processing the data messages in a first-in/first-out fashion. Such systems characterize the data messages into one or more classes and/or topics without knowledge of the subscribers. FIG. 1 illustrates a block diagram of a prior art publish/subscribe data processing system 100 associated with a message broker 110. The publish/subscribe data processing system 100 generally includes one or more publishers 130 and 135 that connect to the publish/subscribe message broker 110. The message broker 110 manages the distribution of the data messages 160 in accordance with a valid subscription registered in the message broker 110. The publishers 130 and 135 transmit the data messages 160 to the message broker 110 and the message broker 110 distributes the data messages to a subscriber 140.
The message broker 110 includes a message queue 120 and multiple threads 150 for parallel distribution of the data messages 160 from the publishers 130 to the subscribers 140. The system 100 publishes the data messages 160 based on a topic and/or a named logical channel. The problem associated with such prior art approaches is that the data messages 160 transmitted by the publisher 135 must wait quite some time before transmission to the subscriber 140. Additionally, all other messages may be delayed a very long time before being processed leading to reduced levels of service. Due to the queuing algorithm, an individual publisher may flood the system 100 with the data messages 160 on a specific topic thus crippling the ability of other publishers 130 to communicate the data messages 325 to the subscribers 140.
Based on the foregoing, it is believed that a need exists for an improved publish/subscribe broker messaging system and method for processing a data message based on a message broker scheduling algorithm, as described in greater detail herein.